Metoda eliminacji Gaussa
Przedstawiony poniżej sposób rozwiązywania układów równań liniowych jest pewnym uproszczeniem algorytmu zwanego metodą eliminacji Gaussa. Metoda ta, niezwykle efektywna pod względem numerycznym (nie istnieje algorytm rozwiązywania układów równań wymagający istotnie mniejszej liczby działań niż metoda eliminacji Gaussa), polega na sprowadzeniu macierzy uzupełnionej, odpowiadającej rozwiązywanemu układowi równań, do uogólnionej postaci trójkątnej (nazywanej również postacią schodkową). Aby osiągnąć ten efekt, na macierzy uzupełnionej wykonujemy dwa rodzaje operacji:
- dodajemy do wybranego wiersza sumy pozostałych wierszy pomnożonych przez odpowiednio dobrane stałe;
- zamieniamy kolejność wierszy.
Operacje te nie wpływają na rozwiązania układu, nie zmieniają też rzędu macierzy. Do uzyskanej po zastosowaniu tych operacji macierzy stosujemy twierdzenie Kroneckera-Capelliego.
Warto przypomnieć w tym miejscu, że pierwsza z wymienionych powyżej operacji nie zmienia wartości wyznacznika macierzy, druga może zmienić jedynie jego znak. W efekcie, metoda eliminacji Gaussa może być z powodzeniem stosowana zarówno do obliczania rzędu i wyznacznika macierzy, jak i do wyznaczania macierzy odwrotnej.
Rozwiązywanie układów równań liniowych metodą eliminacji Gaussa
Ideę metody eliminacji Gaussa wyjaśnimy na kilku przykładach.
Przykład 1: Rozwiązywanie układu oznaczonego metodą eliminacji Gaussa
przy użyciu metody eliminacji Gaussa.
Macierz uzupełniona \( U \) rozważanego układu ma postać
W pierwszym kroku metody eliminacji Gaussa wykorzystujemy pierwszy wiersz, nazywany wierszem głównym dla pierwszego kroku. Liczbę \( 2 \), pierwszy niezerowy element wiersza głównego, nazywamy elementem głównym dla pierwszego kroku. Celem naszym jest wyzerowanie wszystkich elementów stojących pod liczbą \( 2 \)(tj. pod elementem głównym dla pierwszego kroku) i utworzenie w ten sposób pierwszego schodka macierzy. Aby to osiągnąć, postępujemy w sposób następujący: do drugiego wiersza dodajemy pierwszy pomnożony przez \( (\frac{1}{2} \) do trzeciego pomnożony przez \( (-\frac{1}{2} \) do czwartego pomnożony przez \( -2 \). Otrzymujemy
W kolejnym kroku, wierszem głównym jest wiersz drugi nazywany wierszem głównym dla drugiego kroku; elementem głównym dla drugiego kroku jest \( -\frac{3}{2} \). Celem naszym jest wyzerowanie wszystkich współczynników stojących pod liczbą \( -\frac{3}{2} \)(tj. pod elementem głównym dla drugiego kroku) i utworzenie w ten sposób drugiego schodka. Postępujemy analogicznie jak w kroku pierwszym: do wiersza trzeciego dodajemy wiersz drugi pomnożony przez \( \frac{1}{3} \) do wiersza czwartego pomnożony przez \( -\frac{8}{3} \). Otrzymujemy:
W ostatnim, trzecim kroku wierszem głównym jest wiersz trzeci - wiersz główny dla kroku trzeciego; elementem głównym jest \( -\frac{8}{3} \). Mnożąc trzeci wiersz przez \( -\frac{1}{4} \) i dodając do wiersza czwartego otrzymujemy:
Uzyskana w ten sposób macierz schodkowa jest macierzą uzupełnioną układu równań posiadającego te same rozwiązania, co wyjściowy układ:
Z postaci macierzy widać również, że układ ten posiada dokładnie jedno rozwiązanie (macierz układu, jako macierz trójkątna górna o niezerowych elementach na głównej przekątnej, jest macierzą nieosobliwą) . Wyznaczymy je rozwiązując otrzymany układ równań w kolejności od ostatniego równania do pierwszego. Uzyskujemy kolejno: \( w=1,z=-2,y=1,x=0. \)
Warto zanotować, że operacje jakie wykonywaliśmy na macierzy wyjściowego układu równań ( 1 ), aby sprowadzić ją do postaci trójkątnej ( 2 ) nie zmieniły jej wyznacznika. Ponieważ wyznacznik macierzy trójkątnej równy jest iloczynowi wyrazów z głównej przekątnej, mamy
Przykład 2: Rozwiązywanie układu nieoznaczonego metodą eliminacji Gaussa
Macierz uzupełniona tego układu ma postać
W pierwszym kroku metody eliminacji Gaussa do wiersza drugiego dodajemy wiersz pierwszy pomnożony przez \( 2 \); wiersz trzeci natomiast przepisujemy bez zmian:
W kroku drugim, do wiersza trzeciego dodajemy wiersz drugi pomnożony przez \( -\frac{1}{3}: \)
Wykonywane operacje nie zmieniły rzędu macierzy, zatem
Na podstawie twierdzenia Kroneckera-Capelliego, rozważany układ równań posiada nieskończenie wiele rozwiązań zależnych od \( n-r=3-\operatorname*{rz}(A)=3-2=1 \) parametru. Jest on równoważny układowi
którego rozwiązania, równe rozwiązaniom wyjściowego układu, mają postać \( x=t,y=2+2t,z=2t, \) gdzie \( t\in\mathbb{R} \) jest dowolnym parametrem.
Przykład 3: Rozwiązywanie układu sprzecznego metodą eliminacji Gaussa
którego macierz uzupełniona \( U \) ma postać
W pierwszym kroku metody eliminacji Gaussa do wiersza drugiego dodajemy wiersz pierwszy pomnożony przez \( \frac{2}{5} \); do wiersza trzeciego pomnożony przez \( \frac{1}{5} \):
W drugim kroku do wiersza trzeciego dodajemy wiersz drugi pomnożony przez \( 2 \):
Wykonane operacje nie zminiły rzędu macierzy, zatem
oraz
Na podstawie twierdzenia Kroneckera-Capelliego stwierdzamy, że rozważany układ równań nie posiada rozwiązań. Warto zauważyć, że sprzeczność tego układu można odczytać nie tylko z przeprowadzonego rachunku rzędów, lecz również z postaci macierzy schodkowej - wiersz trzeci tej macierzy odpowiada równaniu sprzecznemu \( 0x+0y+0z=6 \).
Wyznaczanie macierzy odwrotnej z wykorzystaniem metody eliminacji Gaussa
Niech \( A\in\mathbb{R}^{n\times n} \) będzie zadaną macierzą nieosobliwą (warunek ten gwarantuje istnienie macierzy \( A^{-1} \) ) oraz niech \( X_i \) oznacza \( i \)-tą kolumnę poszukiwanej macierzy \( A^{-1} \), tj. \( A^{-1}=(X_1,\ldots, X_n) \). Łatwo sprawdzić, że przy przyjętych oznaczeniach
Dzięki tej prostej obserwacji równanie \( A\cdot X=I \), którego jedynym rozwiązaniem jest \( X=A^{-1} \), możemy zapisać w postaci \( n \) układów równań liniowych:
których rozwiązaniami są kolejne kolumny macierzy \( A^{-1} \). Do rozwiązania każdego z tych układów równań możemy zastosować algorytm eliminacji Gaussa.
Zaproponowaną metodę wyznaczania macierzy odwrotnej, która w literaturze funkcjonuje również jako metoda Gaussa-Jordana, przedstawimy na prostym przykładzie.
Przykład 4: Wyznaczanie macierzy odwrotnej z wykorzystaniem metody eliminacji Gaussa
Jak łatwo sprawdzić \( \det(A)=-5\neq 0 \), zatem macierz \( A \) posiada macierz odwrotną. Wyznaczymy ją wykorzystując metodę eliminacji Gaussa. Operacje wykonywane na macierzy \( A \) przeprowadzamy jednocześnie na macierzy jednostkowej, którą dla wygody zapiszemy z prawej strony. Zabieg ten umożliwi rozwiązanie za jednym razem trzech układów równań
których rozwiązaniami są kolejne kolumny macierzy \( A^{-1} \).
W pierwszym kroku sprowadzimy macierz \( A \) do postaci trójkątnej. Mamy zatem
Dodając do wiersza drugiego wiersz pierwszy pomnożony przez \( 2 \); do trzeciego pomnożony przez \( -1 \) otrzymujemy
Dodając do wiersza trzeciego drugi pomnożony przez \( -\frac{1}{3} \) otrzymujemy
Ponieważ wykonane operacje nie zmieniły wyznacznika macierzy, zatem widzimy, że faktycznie \( \det A=-5 \). Uzyskana macierz jest już macierzą trójkątną, możemy więc przejść do kroku drugiego. Polega on na sprowadzeniu macierzy trójkątnej do postaci diagonalnej. Aby to osiągnąć stosujemy metodę eliminacji idąc w kolejności odwrotnej - od wiersza trzeciego do pierwszego. Dodając do wiersza drugiego trzeci pomnożony przez \( \frac{6}{5} \), otrzymujemy
Dodając do wiersza pierwszego drugi pomnożony przez \( -\frac{1}{3} \) otrzymujemy
Ostatnim etapem jest przekształcenie uzyskanej macierzy diagonalnej do macierzy jednostkowej. W tym celu wystarczy wiersz drugi pomnożyć przez \( \frac{1}{3} \), trzeci przez \( -\frac{3}{5} \) otrzymując:
W wyniku zastosowanych operacji uzyskaliśmy układ równań o macierzy jednostkowej. Kolejne kolumny macierzy stojącej z prawej strony tej macierzy są więc poszukiwanymi rozwiązaniami \( X_1, X_2, X_3 \) tworzącymi macierz \( A^{-1} \):